const express = require('express');
const cors = require('cors');
const connectDB = require('./config/db');
const todoRoutes = require('./routes/todo');

// 创建Express应用实例
const app = express();

// 连接数据库
connectDB();

// 中间件配置
app.use(cors()); // 启用CORS
app.use(express.json()); // 解析JSON请求体
app.use(express.urlencoded({ extended: true })); // 解析URL编码的请求体

// 请求日志中间件
app.use((req, res, next) => {
    console.log(`${new Date().toISOString()} - ${req.method} ${req.url}`);
    next();
});

// 注册路由
app.use('/api', todoRoutes);

// 错误处理中间件
app.use((err, req, res, next) => {
    console.error('错误:', err.stack);
    res.status(500).json({ message: '服务器内部错误' });
});

// 设置服务器端口
const PORT = process.env.PORT || 3000;

// 启动服务器
app.listen(PORT, () => {
    console.log(`服务器运行在端口 ${PORT}`);
}); 